package br.com.comanda.util;

/**
 * Classes para mapear constantes estáticas no sistema.
 * 
 * @author thiago
 * @since 09/01/2013
 */
public final class Constantes {

	private Constantes() {
		super();
	}

	/**
	 * Nome do sistema para exibir para o usuário.
	 */
	public static final String PROJECT_NAME_TO_SHOW = "Janelas Portabilidade";

	/**
	 * Nome do sistema usado internamente. Normalmente em minusculo.
	 */
	public static final String PROJECT_NAME = "aj";

	// OBS: NÃO ALTERAR ESTA CONSTANTE
	public static final String DEVELOPER_MACHINE_IP = "10.0.2.2";

	// ALTERAR COM IP FIXO OU DOMINIO DO SERVIDOR
	public static final String SERVER_MACHINE_IP_INTERNO = "10.253.0.37";
	public static final String SERVER_MACHINE_IP_EXTERNO = "201.16.150.67";

	/**
	 * URL para conexão com servidor 1
	 */
	public static final String URL_SERVER_1 = "http://" + DEVELOPER_MACHINE_IP
			+ ":8080/AcompanhamentoJanelaServer/";

	/**
	 * URL para conexão com servidor 2
	 */
	public static final String URL_SERVER_2 = "http://" + DEVELOPER_MACHINE_IP
			+ ":8080/AcompanhamentoJanelaServer/";

	/**
	 * URL do servidor para listar arquivos a serem baixados
	 */
	public static final String AUTHENTICATION_SERVLET = "login";

	/**
	 * Servlet no servidor que responde às requisicoes de pre-janela
	 */
	public static final String PRE_JANELA_SERVLET = "cmd";

	/**
	 * Servlet no servidor que responde às requisicoes de acompanhamento de
	 * janela
	 */
	public static final String REENVIO_SERVLET = "reenvio";

	/**
	 * Servlet no servidor que responde às requisicoes de acompanhamento de
	 * janela
	 */
	public static final String ACOMPANHAMENTO_JANELA_SERVLET = "acompanhamento";

	/**
	 * URL do servidor para matar sessão de login do usuário
	 */
	public static final String LOGOUT_SERVLET = "logout";

	/**
	 * URL do servidor para listar arquivos a serem baixados
	 */
	public static final String LIST_FILES_SERVLET = "list";

	/**
	 * URL do servidor para baixar atualizações
	 */
	public static final String DOWNLOAD_SERVLET = "download";

	/**
	 * URL do servidor para enviar dados
	 */
	public static final String UPLOAD_SERVLET = "upload";

	/**
	 * Nome do pacote do projeto
	 */
	public static final String SYSTEM_PACKAGE = "br.com." + PROJECT_NAME;

	/**
	 * Pasta que o sistema usa como default quando o SDCard não está presente
	 */
	public static final String SYSTEM_INTERNAL_FOLDER = String.format(
			"/data/%s/", SYSTEM_PACKAGE);

	/**
	 * Pasta principal do sistema
	 */
	public static final String MAIN_FOLDER = String
			.format("/%s/", PROJECT_NAME);

	/**
	 * Pasta onde é gerado o zip com as informacoes que serão enviadas para o
	 * servidor
	 */
	public static final String ZIP_FOLDER = MAIN_FOLDER + "zip/";

	/**
	 * Pasta onde é descompactado o arquivo buscado do servidor para atualizar
	 * a base de dados
	 */
	public static final String UNZIP_FOLDER = MAIN_FOLDER + "unzip/";

	/**
	 * Pasta onde será agrupado todos arquivos de midia.
	 */
	public static final String MIDIA_FOLDER = MAIN_FOLDER + "midia/";

	/**
	 * Pasta no sdcard que irá armazenar as fotos dos produtos
	 */
	public static final String IMAGES_FOLDER = MIDIA_FOLDER + "foto/";

	/**
	 * Pasta no sdcard que irá armazenar os videos dos produtos
	 */
	public static final String VIDEOS_FOLDER = MIDIA_FOLDER + "video/";

	/**
	 * Pasta no sdcard que irá armazenar os backups do banco de dados
	 */
	public static final String BACKUP_FOLDER = MAIN_FOLDER + "backup/";

	/**
	 * Pasta onde ficam os scripts para popular a base de dados. Usado somente
	 * em desenvolvimento
	 */
	public static final String LOG_FOLDER = MAIN_FOLDER + "logs/";

	/**
	 * Timeout default para ser utilizado nas conexoes com o servidor
	 */
	public static final int DEFAULT_TIMEOUT = 60000;

	/**
	 * Porcentagem mínima de bateria que o aparelho deve ter para realizar uma
	 * conexão.
	 */
	public static final int BATERIA_PARA_CONECTAR = 10;

	/**
	 * Versão do banco de dados do sistema
	 */
	public static final int DATABASE_VERSION = 1;

	/**
	 * Nome padrão da base de dados do sistema.
	 */
	public static final String DATABASE_NAME = PROJECT_NAME + "_database.db";

	/**
	 * Nome do apk do sistema mantido na pasta de backup
	 */
	public static final String APK_NAME = PROJECT_NAME + ".apk";

	/**
	 * Nome do apk do ProjectUpdate
	 */
	public static final String UPDATE_APK_NAME = PROJECT_NAME + "Update.apk";

	/**
	 * Tamanho aproximado que o apk deve ter
	 */
	public static final long TAMANHO_APROXIMADO_APK = 1500L * 1024L;

	/**
	 * Tamanho do buffer padrão para tráfego de informações pela rede
	 */
	public static final int TAMANHO_BUFFER_PADRAO = 8192;

	/**
	 * Nome do pacote do projeto de atualização
	 */
	public static final String UPDATE_PACKAGE = "br.com.swb.ens.update";

	/**
	 * Ver se está em modo de desenvolvimento ou produção
	 */
	public static final boolean DESENVOLVIMENTO = true;

	/**
	 * Tag identificadora do log do sistema
	 */
	public static final String TAG_LOG = String.format("[%s]",
			PROJECT_NAME_TO_SHOW);

	public static final String CMD_ACOMPANHAMENTO_08 = "08";
	public static final String CMD_ACOMPANHAMENTO_10 = "10";
	public static final String CMD_ACOMPANHAMENTO_12 = "12";
	public static final String CMD_ACOMPANHAMENTO_14 = "14";
	public static final String CMD_ACOMPANHAMENTO_16 = "16";
	public static final String CMD_ACOMPANHAMENTO_18 = "18";
	public static final String CMD_ACOMPANHAMENTO_20 = "20";
	public static final String CMD_ACOMPANHAMENTO_22 = "22";
	public static final String CMD_PREJANELA_8 = "preJanela_8";
	public static final String CMD_PREJANELA_10 = "preJanela_10";
	public static final String CMD_PREJANELA_12 = "preJanela_12";
	public static final String CMD_PREJANELA_14 = "preJanela_14";
	public static final String CMD_PREJANELA_16 = "preJanela_16";
	public static final String CMD_PREJANELA_18 = "preJanela_18";
	public static final String CMD_PREJANELA_20 = "preJanela_20";
	public static final String CMD_PREJANELA_22 = "preJanela_22";
	public static final String CMD_REENVIO_08 = "08";
	public static final String CMD_REENVIO_10 = "10";
	public static final String CMD_REENVIO_12 = "12";
	public static final String CMD_REENVIO_14 = "14";
	public static final String CMD_REENVIO_16 = "16";
	public static final String CMD_REENVIO_18 = "18";
	public static final String CMD_REENVIO_20 = "20";
	public static final String CMD_REENVIO_22 = "22";
}
